package jp.co.dailyReport;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;

/**
 * org.apache.struts.action.ActionMappingに関連づけられた
 * org.apache.struts.action.ActionFormのサブクラスで
 * システムにログインする社員情報を表します。
 */
public class LoginActionForm extends ActionForm {

	//パスワード
	private String passwd;
	//ユーザID
	private String usr;

	/**
	 * パスワードを設定します。
	 * 
	 * @param passwd パスワード
	 */
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}

	/**
	 * パスワードを取得します。
	 * 
	 * @return passwd
	 */
    public String getPasswd() {
		return passwd;
	}

	/**
	 * ユーザIDを設定します。
	 * 
	 * @param usr ユーザID
	 */
	public void setUsr(String usr) {
		this.usr = usr;
	}

	/**
	 * ユーザIDを取得します。
	 * 
	 * @return usr
	 */
	public String getUsr() {
		return usr;
	}

	/**
	 * Beanの全てのプロパティをデフォルトの状態にリセットします。 
	 * このメソッドはコントローラServlet がプロパティを設定する前に
	 * 呼び出されます。 
	 * 
	 * @param mapping このインスタンスを選択するために用いられたマッピング
	 * @param request 処理しているServletリクエスト
	 */
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		passwd = null;
		usr = null;
	}

	/**
	 * ユーザIDがnullまたは長さ0の場合、
	 * パスワードがnullまたは長さ0の場合、
	 * ActionErrorsオブジェクトを返します。
	 * 
	 * @param mapping このインスタンスを選択するために用いられたマッピング
	 * @param request 処理しているServletリクエスト
	 * @return ActionErrorsオブジェクト
	 */
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		if(usr == null || usr.length() == 0)
			 errors.add("usr", new ActionError("errors.usr.required"));
		if(passwd == null || passwd.length() == 0)
			 errors.add("passwd", new ActionError("errors.passwd.required"));
		return errors;
	}
}

